if(!jsx3.lang.Class.forName("tibco.admin.enterpriseAssets.machines.viewEdit.machinesEdit")) {
    jsx3.Class.defineClass(
            'tibco.admin.enterpriseAssets.machines.viewEdit.machinesEdit', // full name of the class to create
            jsx3.lang.Object, //  extends jsx3.lang.Object
            null, // dose not implements any interfaces
            function(machinesEdit) {
                machinesEdit.workspace = null;
                machinesEdit.hostName = null;
                machinesEdit.managementURL = null;
                machinesEdit.tibcoHome = null;
                machinesEdit.boundBy = null;
                machinesEdit.bindingURL = null;
                machinesEdit.operatingSystem = null;
                machinesEdit.daemonName = null;
                machinesEdit.daemonDescription = null;

                machinesEdit.subscribeAll = function() {
                    machinesEdit.workspace = tibco.admin.Main.getServer().getJSXByName("paneMachinesDetails_21");
                    tibco.admin.PubSub.subscribe(tibco.admin.enterpriseAssets.machines.EventID.MACHINES_SELECTED, machinesEdit.setDetails, null);
                    tibco.admin.PubSub.subscribe(tibco.admin.enterpriseAssets.machines.EventID.MACHINES_DESELECTED, machinesEdit.clearDetails, null);
                }

                machinesEdit.setDetails = function(objEvent) {
                    machinesEdit.workspace.setDisplay(jsx3.gui.Block.DISPLAYBLOCK, true);
                    try {
                        if(objEvent.hostName) {
                            machinesEdit.workspace.getDescendantOfName("lblHostName_21").setText(objEvent.hostName, true);
                            machinesEdit.workspace.getDescendantOfName("lblTibcoHome_21").setText(objEvent.tibcoHome, true);
                            machinesEdit.workspace.getDescendantOfName("lblBoundBy_21").setText(objEvent.boundBy, true);
                            machinesEdit.workspace.getDescendantOfName("lblBindingUrl_21").setText(objEvent.discoveryJMXUrl, true);
                            machinesEdit.workspace.getDescendantOfName("lblManagementUrl_21").setText(objEvent.managementJMXUrl, true);
                            machinesEdit.workspace.getDescendantOfName("lblOperatingSystem_21").setText(objEvent.osName, true);
                            machinesEdit.workspace.getDescendantOfName("lblDaemonName_21").setText(objEvent.daemonName, true);
                            machinesEdit.workspace.getDescendantOfName("lblDaemonDescription_21").setText(objEvent.description, true);
                        }
                        else {
                            machinesEdit.workspace.getDescendantOfName("lblHostName_21").setText("", true);
                            machinesEdit.workspace.getDescendantOfName("lblTibcoHome_21").setText("", true);
                            machinesEdit.workspace.getDescendantOfName("lblBoundBy_21").setText("", true);
                            machinesEdit.workspace.getDescendantOfName("lblBindingUrl_21").setText("", true);
                            machinesEdit.workspace.getDescendantOfName("lblManagementUrl_21").setText("", true);
                            machinesEdit.workspace.getDescendantOfName("lblOperatingSystem_21").setText("", true);
                            machinesEdit.workspace.getDescendantOfName("lblDaemonName_21").setText("", true);
                            machinesEdit.workspace.getDescendantOfName("lblDaemonDescription_21").setText("", true);
                        }
                    }
                    catch(ex) {
                        tibco.admin.Main.logException(ex, tibco.admin.Main.getServer().getDynamicProperty("@lblErrorViewEdit21"));
                        throw new jsx3.lang.Exception(tibco.admin.Main.getServer().getDynamicProperty("@lblErrorLoad21"), jsx3.NativeError.wrap(ex));

                    }
                }

                machinesEdit.clearDetails = function() {
                    machinesEdit.workspace.setDisplay(jsx3.gui.Block.DISPLAYNONE, true);
                    try {
                        machinesEdit.workspace.getDescendantOfName("lblHostName_21").setText("", true);
                        machinesEdit.workspace.getDescendantOfName("lblTibcoHome_21").setText("", true);
                        machinesEdit.workspace.getDescendantOfName("lblBoundBy_21").setText("", true);
                        machinesEdit.workspace.getDescendantOfName("lblBindingUrl_21").setText("", true);
                        machinesEdit.workspace.getDescendantOfName("lblManagementUrl_21").setText("", true);
                        machinesEdit.workspace.getDescendantOfName("lblOperatingSystem_21").setText("", true);
                        machinesEdit.workspace.getDescendantOfName("lblDaemonName_21").setText("", true);
                        machinesEdit.workspace.getDescendantOfName("lblDaemonDescription_21").setText("", true);
                    }
                    catch(ex) {
                        tibco.admin.Main.logException(ex, "Error in tibco.admin.enterpriseAssets.machines.viewEdit");
                        throw new jsx3.lang.Exception("Error loading viewEdit panel for machines, probably missing parameter/label/textbox", jsx3.NativeError.wrap(ex));

                    }
                }
            })
}